アイコン補完 (scrapbox-select-suggestion)
2024-07-22現時点で考えているUI
[title]内を入力
今まで通りの入力補完
アイコン入力するよう指示すれば、[title.icon]の形式で補完する
同上
[title.icon]内を入力
アイコン補完モード
アイコンのあるページのみを補完候補にする
projectごとに入力候補をまとめない
入力候補の文字列を表示するかは検討中
一旦アイコンだけ表示するUIで試しみる
[/project/title]内を入力
これが新しい構想
リンク内が/^\/[^\/]+\//とマッチしたときのみ起動
projectの絞り込みとtitleの絞り込みを同時に行う
project部分
[/query/]で完全一致あいまい検索
をwild cardとみなす
[/ query/]で前方一致あいまい検索
[/query /]で後方一致あいまい検索
[/ query /]で部分一致あいまい検索
[/ query1 query2 /]でquery1とquery2の両方にあいまい一致する候補を検索する
|でOR検索
検索対象
project name
project display name
結果の表示
project nameで引っかかったときはproject nameのみを、project display nameで引っかかったときはproject display nameのみを表示する
両方引っかかったときは、project nameのみを表示する
本当はprojectのアイコンを示したいが、できるか不明
確定
候補に上がったproject nameを押すと、そのproject nameが/と/の間に入力される
補完候補は、titleのほうの補完候補が0でない限り表示したままにする
このproject補完候補リストを、titleを検索するprojectの範囲とする
title部分
今までと同様
検索するproject範囲は、projectの絞り込み結果を使う
何も絞り込まれなければ、予め設定したprojectsを使う
キーでicon挿入モードを切り替えるのはやめる
今は廃止されている
2024-07-22
とりあえず[title.icon]形式まで
外部projectのアイコンを挿入する機能は入れていない
18:43:38 簡単に入れられた
18:43:41 E2Eテスト
なぜか何も表示されなくなっちゃった
計算はされている
18:48:17 うまくいった
https://gyazo.com/e02d40e9c862497d65c8d6119c6dd25a
takker.iconがついてしまったのは、preventDefault()などが動作していないから
18:52:25 /examples/advanced.tsを直した
UI
アイコンのみを表示し、ページタイトルとproject nameは表示しない
スペース削減目的
ほしいのはアイコンだけで、どのprojectのかはぶっちゃけどうでもいい
表示
↓の<ItemList />をまるごとアイコン補完用Componentに置き換えればいい?
でも候補選択関数のexportあたりは同じ処理だ
候補選択関数のexportを共通処理として切り出して、違うところだけ別のcomponentにする?
https://code2svg.vercel.app/svg/L57-127/https://raw.githubusercontent.com/takker99/scrapbox-select-suggestion/0.10.3/Completion.tsx#.svg https://github.com/takker99/scrapbox-select-suggestion/blob/0.10.3/Completion.tsx#L57-L127